package com.example.micro_property_springboot.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.micro_property_springboot.pojo.SysParam;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 系统参数Mapper
 * 提供系统参数的数据库操作方法
 */
@Mapper
public interface SysParamMapper extends BaseMapper<SysParam> {
    
    /**
     * 根据参数键名获取参数
     */
    SysParam getByParamKey(@Param("paramKey") String paramKey);
    
    /**
     * 获取所有可编辑参数
     */
    List<SysParam> getAllEditableParams();
    
    /**
     * 获取所有系统参数
     */
    List<SysParam> getAllSystemParams();
    
    /**
     * 批量更新系统参数
     */
    Integer batchUpdateParams(@Param("params") List<SysParam> params);
    
    /**
     * 检查参数键名是否存在
     */
    Integer checkParamKeyExist(@Param("paramKey") String paramKey, @Param("id") Long id);
}